package com.nineclock.system;

import com.nineclock.attendance.dto.DepartmentOrUserSimpleDTO;
import com.nineclock.common.entity.PageResult;
import com.nineclock.common.entity.Result;
import com.nineclock.system.dto.SysCompanyUserDTO;
import com.nineclock.system.dto.SysDepartmentDTO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;

@Api(value = "组织架构管理",tags = "系统服务")
public interface OrganizationControllerApi {
    @ApiOperation(value = "根据部门ID查询子部门及员工列表")
    public Result<List<DepartmentOrUserSimpleDTO>> querySimpleDepartment( Long departmentId, Integer includeMember);
    @ApiOperation(value = "获得考勤组人数")
    public Result<Integer> queryUserCountByDepartmentIds(List<Long> departmentIds);
    @ApiOperation(value = "获得所有顶级部门")
    public Result<List<Long>> queryDepartmentIds();
    @ApiOperation(value = "全部员工简单查询")
    public Result<List<SysCompanyUserDTO>> getCompanyUserList();
    @ApiOperation(value = "全部部门左侧显示")
    public Result<List<SysDepartmentDTO>> getCompanyDepartmentList();
    @ApiOperation(value = "分页查询员工")
    public Result<PageResult<SysCompanyUserDTO>> getCompanyDepartmentUserList(Integer page, Integer pageSize
    , String keyword, Long departmentId);
    @ApiOperation(value = "直接导入企业员工")
    public Result uploadExcel(MultipartFile excelFile) throws IOException;
}
